//?  arr = [['a','b'],['1','2']] => [a1,a2,b1,b2]

function arrArrange(arr) {
    //? 初始res为第一个数组
    let res = arr[0].slice();

    //? 从第二个数组开始遍历  需要依赖于前一个结果
    for (let i = 1; i < arr.length; i++) {
        //? 记录前面的结果
        const pre = res.slice();
        //? 得到的新的结果
        res = [];
        //? 遍历前面的结果
        pre.forEach(item => {
            //? 遍历当前数组 进行组合 得到新的res数组
            arr[i].forEach(item2 => {
                res.push(item + item2);
            })
        })
    }
    return res
}
const arr = [['a','b'],['1','2']]
console.log(arrArrange(arr));
